iT邦幫忙

2024 iThome 鐵人賽

DAY 17
0
AI/ ML & Data

From Python Beginner To AI Engineer系列 第 18

什麼是布林值?

  • 分享至 

  • xImage
  •  

布林值

布林值 (Boolean) 是一種用在邏輯判斷上的數值,布林值只有兩種:TrueFalse。布林值會發生於各種判斷式:

>>> n = 8
>>> n % 2 == 0
True

布林值可以直接指定給一個變數:

b = True

布林值也可以當作函式的回傳值:

def hello():
    return True

hello()

有了布林值之後,就可以來進行邏輯運算

邏輯運算

邏輯運算經常用來串接條件判斷,例如判斷兩個條件是否同時成立?兩個條件是否至少一個成立?或者某個條件是否不成立

同時成立

and 代表「且」,在 and 左右兩邊的條件式都必須成立,整個 and 邏輯運算才會成立,例如:

>>> def hello_and(a, b):
>>>     if a == 3 and b == 5:
>>>         print(a, b, "成立!")
>>>     else:
>>>         print(a, b, "不成立!")
>>>
>>> hello_and(3, 5)
>>> hello_and(4, 5)
3 5 成立!
4 5 不成立!

hello_and() 函式裡面,會去判斷變數 a 是否為 3,而且變數 b 是否為 5,如果兩個條件都成立,就會輸出「成立!」;只要有一個變數不符合條件,就會輸出「不成立!」。

至少一個成立

or 代表「或」,在 or 左右兩邊的條件式,只要有一個成立,整個 or 邏輯運算就會成立:

>>> def hello_or(a, b):
>>>     if a == 3 or b == 5:
>>>         print(a, b, "成立!")
>>>     else:
>>>         print(a, b, "不成立!")
>>>
>>> hello_or(3, 5)
>>> hello_or(4, 5)
>>> hello_or(4, 6)
3 5 成立!
4 5 成立!
4 6 不成立!

hello_or() 函式裡面,同樣判斷 ab 兩變數,但是因為用 or 連接,所以只要有一個變數符合條件,就會輸出「成立!」;只有在兩個變數都不符合條件時,才會輸出「不成立!」。

不成立

not 代表「非」,not 並不用來連接兩個條件式,只會單純作用在一個布林值上面,例如:

>>> b = True
>>> not b
False

可以撰寫函式如下:

>>> def hello_not(a):
>>>     if not a == 3:
>>>         print(a, "不是 3!")
>>>     else:
>>>         print(a, "是 3!")
>>>
>>> hello_not(2)
>>> hello_not(3)
>>> hello_not(4)
2 不是 3!
3 是 3!
4 不是 3!

hello_not() 函式裡面,會去判斷 a == 3 是否不成立,只有當此條件式不成立時,才會走進 if 的第一個區塊,並輸出「不是 3!」,因此傳入任何不是 3 的參數,都可以獲得「不是 3!」的輸出。

自我練習

  1. 寫一個函式,搭配 input() 判斷使用者輸入的數值是否為 7,若為 7 則回傳 True,若不為 7 則回傳 False
  2. 承上題,搭配 while 迴圈不斷接收使用者輸入,直到輸入 7 為止再結束迴圈。
  3. 現在改成接收兩個輸入 ab,用 while 迴圈判斷使用者輸入的是否都為奇數。

完整的程式碼放在此 Colab 裡面供各位參考。


上一篇
如何取得使用者的輸入?
下一篇
如何直接跳出迴圈?
系列文
From Python Beginner To AI Engineer31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言